1. Field of the Invention
The present invention is directed to providing a microprocessor based video game with simulated three-dimensional views and, more particularly, to a computational unit operable by the microprocessor for performing the considerable computation necessary to achieve the effect of different viewing positions and directions necessary to implement a variety of perspective views of an object.
2. Description of the Prior Art
Many of the video games available today provide the player with "third person views" of game play; that is, the player views the play field (the lines and markers that delineate the playing area of the game) and any movable player objects as an observer rather than a participant. This is to be contrasted with "first person views" in which images are presented on a display screen simulating a scene viewed through an imaginary window (represented by the display screen). First person views require some simulation of a third dimension: depth.
First person view simulations have been attempted in some games, but with limited success. For example, certain games provide movable objects, such as simulated aircraft or spacecraft, that are variable in size and position on the screen to simulate changes in relative distance from the player, and side-to-side movement by the player. Typically, however, the modification of the size and screen location of movable objects is the extent of such first person presentation. The limited realism associated with simulated first person views of a playfield with a two-dimensional display makes it desirable to provide a three-dimensional simulation that provides depth and realism.
This is not to say, however, that apparatus does not exist today capable of providing three-dimensional or first person simulations on a two-dimensional display screen. The most common technique used is perspective projection. In this technique an image is formed on the display screen as if viewed by the eye. Flight simulators, for example, are capable of providing simulated three dimensional views from the cockpit of an aircraft. Many images per second are generated to simulate realistic motion in three degrees of freedom (i.e., up/down, left/right, and forward/rearward movements). However, such flight simulators use large, expensive, high powered and fast data processing systems to perform the necessary calculations to provide the simulated views. Accordingly, it is desirable to provide a realistic three-dimensional simulation with an economical system.
Perspective projection views are typically generated in the following manner: digital information describing the view is stored in a data processing memory and referenced to a three-dimensional coordinate system termed the "model" or "playfield" system. To simulate changing views, the binary information must be transformed from the playfield coordinate system to the viewpoint or viewer's coordinate system. Then, the image in the viewer's coordinate system is projected onto a display screen. Thus, the viewer is presented with a display that simulates what he or she would see through a window. Movement of objects in the playfield system, relative to the viewer's position on the playfield, require continuous recalculation of the transformations.
These transformations are performed by calculations that convey depth by providing for a perspective foreshortening of object lines to make distant objects smaller than nearer objects, depending upon the relative position of the viewer and the object viewed. Ambiguities can be eliminated by using hidden line elimination techniques in which lines hidden from view by simulated opaque objects are deleted. This added technique, however, again adds to the computations necessary for presenting the desired view. These topics and the equations necessary for the transformation can be found in Principles of Interactive Computer Graphics, Second Edition, by William M. Newman and Robert F. Sproull, published by McGraw-Hill.
Flight simulators, such as those discussed above, are provided with large-scale data processing systems having the computational power and speed necessary to make the required calculations while at the same time controlling the other operational requirements of the system.
Unfortunately, these data processing systems are too large and too expensive to be used in connection with those video games typically found in the home or in arcades. Such video games are controlled by a microprocessor in order to keep down cost and size; and the microprocessors available today do not possess the computational power and speed necessary to perform the transformations necessary to simulate three-dimensional views, yet still maintain control over game play.